async def main(ob, args):
    if not args:
        await ob.m.tell_user(ob, 'Who do you want to punch?\n')
        return False

    location = ob.data.get('location', None)
    if not location or location not in ob.m.space_ob:
        await ob.m.tell_user(ob, 'Your location cannot be detected.\n')
        return False

    here = ob.m.get_space(location)
    target = here.find_ob(args)

    if target is None:
        await ob.m.tell_user(ob, f'There is no one named "{args}" here.\n')
        return False

    await ob.m.tell_user(ob, f'fighting~ {args}~\n')
    return True
